<?php 
/**
 * Desarrollado por la Escuela de Ingeniería de Antioquia
 *
 *
 * @link          http://cakephp.org CakePHP(tm) Project
 * @package       miBusWeb.Model
 * @fecha         Fecha Creación (2013-10-03)
 * @fecha_mod	  Fecha Modifiación (2013-10-03)
 * @cake		  CakePHP(tm) v 0.10.0.0
 */
App::uses('AppModel', 'Model');

class RecorridoRealizadoParada extends AppModel {

	/**
	 * Nombre de la tabla en base de datos
	 *
	 * Tabla relacionada con el modelo en cuestión, este atributo será usado para la generación 
	 * de consultas a la base de datos
	 *
	 * @var string
	 */
	public $useTable = "recorridos_realizados_paradas";
	/**
	 * Clave primaria de la tabla en base de datos
	 *
	 * Clave primaria que identifica cada registro de la tabla en cuestión
	 *
	 * @var string
	 */
	public $primaryKey = "id_recorridos_realizados_paradas";
	/**
	 * Campo de la tabla a usar como etiqueta/descripción
	 *
	 * Nombre del campo que se mostrara cuando se hacen busquedas del modelo mediante el método finde('list')
	 *
	 * @var string
	 */
	public $displayField = "id_recorridos_realizados_paradas";
	/**
	 * Nivel de recusividad para la busqueda de entidades relacionadas
	 *
	 * Este campo sirve para indicar si una consulta debe incluir las entidades
	 * relacionadas con el modelo en cuestión:
	 * 	-1	->	Solo información de tabla
	 * 	0	->	Información de tabla y de belongsTo
	 * 	1	->	Información de tabla, de belongsTo y de hasOne-hasMany
	 * 	2	->	Información de tabla, de belongsTo, hasOne-hasMany y hasOne-hasMany de los relacionados
	 *
	 * @var int
	 */
	public $recursive =0;
	/**
	 * Nombre del modelo
	 *
	 * Nombre del modelo que especifica como referirse a el en las consultas, busquedas, ingresos y 
	 * otras interacciones con la base de datos. 
	 *
	 * @var string
	 */
	public $name = "RecorridoRealizadoParada";
	/**
	 * Orden por defecto
	 *
	 * Orden por defecto para las consultas que se realicen a la base de datos,
	 * se pueden incluir varios campos de la base de datos. Si se especifica
	 * otro orden, este no se tiene en cuenta.	 
	 *
	 * @var array(string)
	 */
	public $order = array("RecorridoRealizadoParada.id_recorridos_realizados_paradas");
	/**
	 * Relaciones muchos a uno existentes del modelo
	 */
	public $belongsTo = array(
		"Parada" => array(
				"className" => "Parada",
				"foreignKey" => "id_parada",
			),
		"RecorridoRealizado" => array(
				"className" => "RecorridoRealizado",
				"foreignKey" => "id_recorrido_realizado",
			),
	);

	public $hasMany = array(
		"RecorridoRealizadoUsuarioParada" => array(
			"className" => "RecorridoRealizadoUsuarioParada",
			"foreignKey" => "id_recorridos_realizados_usuarios_paradas",
		),
	);
	/**
	*Validaciones de cada uno de los atributos del modelo
	*/
public $validate = array(
			"id_recorridos_realizados_paradas" => array(
					"notEmpty" => array(
							"rule" 			=> "notEmpty",
							"allowEmpty" 	=> false,
							"required" 		=> "update",
							"message" 		=> "Id del recorrido realizado parada no puede estar vacio",
					),
					"naturalNumber_NoZero" => array(
							"rule" 			=> array("naturalNumber", false),
							"message" 		=> "Id del recorrido realizado parada debe ser un número entero diferente de cero",
					),
					"isUnique" => array(
							"rule" 			=> array("isUnique"),
							"message" 		=> "Id del recorrido realizado parada debe ser único",
					),
			),
			"id_parada" => array(
					"notEmpty" => array(
							"rule" 			=> "notEmpty",
							"allowEmpty" 	=> false,
							"required" 		=> true,
							"message" 		=> "Id de la parada no puede estar vacio",
					),
					"naturalNumber_NoZero" => array(
							"rule" 			=> array("naturalNumber", false),
							"message" 		=> "Id de la parada debe ser un número entero diferente de cero",
					),
			),
			"id_recorrido_realizado" => array(
					"notEmpty" => array(
							"rule" 			=> "notEmpty",
							"allowEmpty" 	=> false,
							"required" 		=> true,
							"message" 		=> "Id del recorrido realizado no puede estar vacio",
					),
					"naturalNumber_NoZero" => array(
							"rule" 			=> array("naturalNumber", false),
							"message" 		=> "Id del recorrido realizado debe ser un número entero diferente de cero",
					),
			),
		);

	public function save($data = null, $validate = true, $fieldList = array()) {
	    $this->set($data);
	     	
		return parent::save($this->data, $validate, $fieldList);
		}
}
?>